package com.example.baselibrary.Utils;

import android.content.Context;

import com.example.baselibrary.Base.BaseCustomer;

public class DeviceIdHelp {
    private static String DeviceId;

    public static void getDeviceId(final Context context) {

        //获取设备唯一标识
        ThreadManager.getThreadPool().execute(new Runnable() {
            @Override
            public void run() {
                try {
                    DeviceId = GetDeviceId.getDeviceId(context);
                    //获取保存在sd中的 设备唯一标识符
                    String readDeviceID = GetDeviceId.readDeviceID(context);
                    //获取缓存在  sharepreference 里面的 设备唯一标识
                    String string = (String) SPUtils.get(context, BaseCustomer.DEVICEID, "");
                    //判断 app 内部是否已经缓存,  若已经缓存则使用app 缓存的 设备id
                    if (string != null && !string.equals("")) {
                        // 说明有保存，那么久将其放出去呗
                        if (readDeviceID.equals(string)) {
                            //缓存和文件地址一样，直接返回出去
                            DeviceId = readDeviceID;
                        }
                    } else {
                        DeviceId = GetDeviceId.getDeviceId(context);
                        GetDeviceId.saveDeviceID(DeviceId, context);
                    }
                    //最后再次更新app 的缓存
                    SPUtils.put(context, BaseCustomer.DEVICEID, DeviceId);
                    LogUtil.d(DeviceId);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

}
